home *** CD-ROM | disk | FTP | other *** search
/ PC Play 128 / pc play 128.iso / Demo / xmr / xmr.exe / {app} / Shaders / vs / vs2_0_HDR_water.vsh < prev    next >
Encoding:
Text File  |  2007-07-26  |  4.3 KB  |  144 lines

  1. vs_2_0
  2. // DX9 Vertex shader generated by NVIDIA Cg compiler
  3. // cgc version 1.3.0001, build date Jan  7 2005 14:01:35
  4. // command line args: -q -profile vs_2_0 -entry main -profileopts dcls
  5. // source file: vs2_0_HDR_water.cg
  6. // nv30vp backend compiling 'main' program
  7. def c22, 1, -1, 0, 0
  8. def c21, 1, 0, 0.5, 0
  9. //vendor NVIDIA Corporation
  10. //version 1.0.02
  11. //profile vs_2_0
  12. //program main
  13. //semantic main.WorldViewProjMatrix
  14. //semantic main.WorldViewMatrix
  15. //semantic main.WorldMatrix
  16. //semantic main.EyePos
  17. //semantic main.Light
  18. //semantic main.Fresnel
  19. //semantic main.ReflerOffset
  20. //semantic main.Time
  21. //semantic main.WaveDir
  22. //semantic main.WaveTextOffset1
  23. //semantic main.WaveTextOffset2
  24. //semantic main.WaveHeight
  25. //var float4x4 WorldViewProjMatrix :  : c[0], 4 : 1 : 1
  26. //var float4x4 WorldViewMatrix :  : c[4], 4 : 2 : 1
  27. //var float4x4 WorldMatrix :  : c[8], 4 : 3 : 1
  28. //var float4 EyePos :  : c[12] : 4 : 1
  29. //var float4 Light.Position :  : c[13] : 5 : 1
  30. //var float4 Light.Attenuation :  : c[14] : 5 : 1
  31. //var float Light.Range :  : c[15] : 5 : 1
  32. //var float Light.Power :  :  : 5 : 0
  33. //var float4 Fresnel :  : c[16] : 6 : 1
  34. //var float ReflerOffset :  : c[17] : 7 : 1
  35. //var float4 Time :  : c[18] : 8 : 1
  36. //var float4 WaveDir :  :  : 9 : 0
  37. //var float4 WaveTextOffset1 :  : c[19] : 10 : 1
  38. //var float4 WaveTextOffset2 :  : c[20] : 11 : 1
  39. //var float4 WaveHeight :  :  : 12 : 0
  40. //var float4 I.Position : $vin.POSITION : POSITION : 0 : 1
  41. //var float3 I.Normal : $vin.NORMAL : NORMAL : 0 : 1
  42. //var float2 I.TexCoord0 : $vin.TEXCOORD0 : TEXCOORD0 : 0 : 1
  43. //var float3 I.Tangent : $vin.TEXCOORD1 : TEXCOORD1 : 0 : 1
  44. //var float4 main.HPOS : $vout.POSITION : HPOS : -1 : 1
  45. //var float4 main.LightDir : $vout.COLOR0 : COL0 : -1 : 1
  46. //var float4 main.LightAtten : $vout.COLOR1 : COL1 : -1 : 1
  47. //var float4 main.TexCoord0 : $vout.TEXCOORD0 : TEX0 : -1 : 1
  48. //var float4 main.TexCoord1 : $vout.TEXCOORD1 : TEX1 : -1 : 1
  49. //var float4 main.Refl2D : $vout.TEXCOORD2 : TEX2 : -1 : 1
  50. //var float4 main.EyeToVert : $vout.TEXCOORD3 : TEX3 : -1 : 1
  51. //var float4 main.FresnelRefl : $vout.TEXCOORD4 : TEX4 : -1 : 1
  52. //var float4 main.Tangent : $vout.TEXCOORD5 : TEX5 : -1 : 1
  53. //var float4 main.Normal : $vout.TEXCOORD6 : TEX6 : -1 : 1
  54. //var float4 main.HalfVec : $vout.TEXCOORD7 : TEX7 : -1 : 1
  55. //const c[22] = 1 -1 0 0
  56. //const c[21] = 1 0 0.5 0
  57. dcl_texcoord1 v3
  58. dcl_texcoord0 v2
  59. dcl_normal v1
  60. dcl_position v0
  61.     mov r2.xyz, c21
  62.     mov r0.xyz, v0.xyzz
  63.     mov r0.w, r2.x
  64.     dp4 r1.x, c0, r0
  65.     dp4 r1.y, c1, r0
  66.     dp4 r1.z, c2, r0
  67.     dp4 r1.w, c3, r0
  68.     mov oPos, r1
  69.     mov oT5.xyz, v3.xyzz
  70.     mov oT5.w, r2.y
  71.     mov oT6.xyz, v1.xyzz
  72.     mov oT6.w, r2.y
  73.     dp4 r0.x, c8, v0
  74.     dp4 r0.y, c9, v0
  75.     dp4 r0.z, c10, v0
  76.     dp4 r0.w, c11, v0
  77.     add r5.xyz, c12.xyz, -r0.xyz
  78.     dp3 r2.w, r5.xyz, r5.xyz
  79.     rsq r4.w, r2.w
  80.     add r3.xyz, c13.xyz, -r0.xyz
  81.     dp3 r2.w, r3.xyz, r3.xyz
  82.     rsq r3.w, r2.w
  83.     mul r4.xyz, r3.xyz, r3.w
  84.     mad r3.xyz, r4.w, r5.xyz, r4.xyz
  85.     dp3 r2.w, r3.xyz, r3.xyz
  86.     rsq r2.w, r2.w
  87.     mul oT7.xyz, r2.w, r3.xyz
  88.     mov oT7.w, r2.y
  89.     dp3 r2.w, r4.xyz, r4.xyz
  90.     rsq r2.w, r2.w
  91.     mul r3.xyz, r2.w, r4.xyz
  92.     mad oD0.xyz, r2.z, r3.xyz, r2.z
  93.     mov oD0.w, r2.y
  94.     rcp r3.x, r3.w
  95.     slt r3.y, r3.x, c15.x
  96.     mad r2.w, c14.z, r3.x, c14.y
  97.     mad r2.w, r3.x, r2.w, c14.x
  98.     rcp r2.w, r2.w
  99.     min r3.x, r2.w, r2.x
  100.     add r2.w, r2.x, -r3.y
  101.     mul r2.w, r2.w, r2.y
  102.     mad r2.w, r3.y, r3.x, r2.w
  103.     mad r2.w, r2.z, r2.w, r2.z
  104.     mov oD1, r2.w
  105.     add r3, -c12, r0
  106.     dp4 r0.x, r3, r3
  107.     rsq r0.x, r0.x
  108.     mul r0, r0.x, r3
  109.     mov oT3, r0
  110.     mov r2.w, c18.x
  111.     mad oT0.x, r2.w, c19.x, v2.x
  112.     mad oT0.y, r2.w, c19.y, v2.y
  113.     mad oT1.x, r2.w, c20.x, v2.x
  114.     mad oT1.y, r2.w, c20.y, v2.y
  115.     rcp r2.w, r1.w
  116.     mul r3, r1.xyz, r2.w
  117.     mul r1.xy, r2.z, r3.xy
  118.     mad r3.xy, r1.xy, c22.xy, r2.z
  119.     rcp r1.x, r3.z
  120.     mul r1.xyw, c17.x, r1.x
  121.     mov r3.z, r1.xyxw
  122.     min r1, r2.x, r3
  123.     max oT2, r2.y, r1
  124.     dp3 r1.y, c4.xyz, v1.xyz
  125.     dp3 r1.z, c5.xyz, v1.xyz
  126.     dp3 r1.w, c6.xyz, v1.xyz
  127.     dp3 r1.x, r1.yzw, r1.yzw
  128.     rsq r1.x, r1.x
  129.     mul r1.xyz, r1.x, r1.yzw
  130.     dp3 r0.x, r0.xyz, r1.xyz
  131.     add r0.xy, r2.x, r0.x
  132.     mov r0.zw, c16.x
  133.     lit r0.z, r0
  134.     add r0.x, r2.x, -r0.z
  135.     mad r0.x, c16.y, r0.x, r0.z
  136.     min r0.x, r2.x, r0.x
  137.     max oT4.xyz, r2.y, r0.x
  138.     add r0.xyz, c13.xyz, -v0.xyz
  139.     dp3 r0.x, r0.xyz, r0.xyz
  140.     rsq r0.x, r0.x
  141.     rcp oT4.w, r0.x
  142. // 81 instructions
  143. // 6 temp registers
  144.